package com.fjwt.gz.db.vo;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * <p>
 * 活动公众号渠道表
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
@Data
@Accessors(chain = true)
public class ActivityChannelVO {

    /**
     * 主键
     */
    private Long activityChannelId;

    /**
     * 微信公众号appid
     */
    private String appId;

    /**
     * 微信公众号名称
     */
    private String appName;

    /**
     * 渠道码(根据channel_type判断  0：员工编号 1：商户号 2：机构号)
     */
    private String channelCode;

    /**
     * 渠道类型（0：机构员工，1：商户，2：机构网点）
     */
    private Integer channelType;

    /**
     * 获取的二维码ticket，凭借此ticket可以在有效时间内换取二维码
     */
    private String ticket;

    /**
     * 该二维码过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expireTime;

    /**
     * 二维码图片解析后的地址，开发者可根据该地址自行生成需要的二维码图片
     */
    private String url;

    /**
     * oss记录ID
     */
    private Long ossRecordId;

    /**
     * 是否删除 0否 1是，默认0
     */
    private Integer isDeleted;

    /**
     * 当channel_type=1时，是否开启距离限制，0否 1是，默认1
     */
    private Integer isDistanceLimit;

    /**
     * 当channel_type=1时，距离限制; 商家处的活动渠道码（默认：根据归属机构号查距离网点100米内不能参与活动）
     */
    private Float distanceLimit;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateAt;

    /**
     * 渠道名称
     */
    private String channelName;

    /**
     * 机构ID
     */
    private String agentNo;

    /**
     * 机构名称
     */
    private String agentName;

    /**
     * 机构ID1
     */
    private String agentNo1;

    /**
     * 机构ID2
     */
    private String agentNo2;

    /**
     * 机构ID3
     */
    private String agentNo3;

    /**
     * 机构ID4
     */
    private String agentNo4;

    /**
     * 机构上级id
     */
    private String pid;

    /**
     * 机构名称集合
     */
    private List<String> agentNameList;

    /**
     * 是否限制距离
     */
    private String isDistanceLimitVal;

    /**
     * 备注
     */
    private String remark;

    /**
     * 地址
     */
    private String address;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 地区编码
     */
    private String areaCode;

    /**
     * 地区名称
     */
    private String areaName;

    /**
     * 区县名称
     */
    private String agentName3;


}
